除了application.properties
文件,profile-specific属性也能通过命名惯例application-{profile}.properties
定义。Environment
(Spring的环境抽象接口)有个默认profiles集合(默认情况为[default]
),在没有设置激活的profiles时会被使用(例如,如果没有明确指定激活的profiles,application-default.properties
中的属性会被加载)。
Profile-specific属性加载路径和标准的application.properties
相同,并且profile-specific文件总是会覆盖non-specific文件,不管profile-specific文件是否被打包到jar中。
如果定义多个profiles,最后一个将获胜。例如,spring.profiles.active
定义的profiles被添加到通过SpringApplication
API定义的profiles后面,因此优先级更高。
注 如果你已经在spring.config.location
下定义所有文件(非目录),那些profile-specific的文件将不被考虑。如果想使用profile-specific属性,那就在spring.config.location
下使用目录。